package com.hwd.gmall.common.constant;

/**
 * 秒杀微服务的常量类
 *
 * @author 黄伟东/Victor
 * @date 2022/5/9 17:20
 */
public class SeckillConst {

    /** 秒杀下单的交换机 */
    public static final String SECKILL_ORDER_EXCHANGE = "seckill_order_exchange";

    /** 秒杀下单的队列 */
    public static final String SECKILL_ORDER_QUEUE = "seckill_order_queue";

    /** 秒杀下单消息进入队列的routingKey */
    public static final String SECKILL_ORDER_ROUTING_KEY = "seckill.order";

    /** 秒杀商品的正常队列 */
    public static final String SECKILL_GOODS_NORMAL_EXCHANGE = "seckill_goods_normal_exchange";

    /** 秒杀商品的死信队列 */
    public static final String SECKILL_GOODS_DEAD_QUEUE = "seckill_goods_dead_queue";

    /** 秒杀商品信息进入死信队列的routingKey */
    public static final String SECKILL_GOODS_NORMAL_ROUTING_KEY = "seckill.goods.normal";

    /** 秒杀商品的死信交换机 */
    public static final String SECKILL_GOODS_DEAD_EXCHANGE = "seckill_goods_dead_exchange";

    /** 秒杀商品的正常队列 */
    public static final String SECKILL_GOODS_NORMAL_QUEUE = "seckill_goods_normal_queue";

    /** 秒杀商品信息进入正常队列的routingKey */
    public static final String SECKILL_GOODS_DEAD_ROUTING_KEY = "seckill.goods.dead";

    /** 秒杀订单的正常队列 */
    public static final String SECKILL_ORDER_NORMAL_EXCHANGE = "seckill_order_normal_exchange";

    /** 秒杀订单的死信队列 */
    public static final String SECKILL_ORDER_DEAD_QUEUE = "seckill_order_dead_queue";

    /** 秒杀订单的信息进入死信队列的routingKey */
    public static final String SECKILL_ORDER_NORMAL_ROUTING_KEY = "seckill.order.normal";

    /** 秒杀订单的死信交换机 */
    public static final String SECKILL_ORDER_DEAD_EXCHANGE = "seckill_order_dead_exchange";

    /** 秒杀订单的正常队列 */
    public static final String SECKILL_ORDER_NORMAL_QUEUE = "seckill_order_normal_queue";

    /** 秒杀订单的信息进入正常队列的routingKey */
    public static final String SECKILL_ORDER_DEAD_ROUTING_KEY = "seckill.order.dead";

    /** 秒杀抢单排队计数器的key的前缀 */
    public static final String USER_QUEUE_COUNT = "User_Queue_Count_";

    /** 秒杀商品库存自增值在redis中的key的前缀 */
    public static final String SECKILL_GOODS_STOCK = "Seckill_Goods_Stock_";

    /** 防止用户重复秒杀下单的商品库存计数器在redis中的key的前缀 */
    public static final String SECKILL_GOODS_STOCK_COUNT_QUEUE = "Seckill_Goods_Stock_Count_Queue_";

    /** 防止用户重复取消秒杀订单的计数器在redis中的key的前缀 */
    public static final String USER_SECKILL_ORDER_CANCEL_COUNT = "User_Seckill_Order_Cancel_Count_";

    /** 秒杀排队信息对象在redis中的key */
    public static String USER_RECODE_INFO = "User_Recode_Info";

    /** 秒杀订单在redis中的key */
    public static String SECKILL_USER_ORDER = "Seckill_User_Order";
}
